package com.lesama.regex;

public class RegexDemo {
    /*
    1.字符类
    --------------------------------------------
    [abc]                 只能是a,b,c
    [^abc]                除a,b,c以外的任意字符
    [a-zA-Z]              a到z  A到Z
    [a-d[m-p]]            a到d，或者m到p，等同于[a-dm-p]
    [a-z&&[def]]          d,e,f    (即交集)
    [a-z&&[^bc]]          a到z除了b和c,等同于[ad-z]
    [a-z&&[^m-p]]         a到z除了m到p,等同于[a-lq-z]
     */
    /*
    2.预定义字符类
    --------------------------------------------
    .    任何字符
    \d   一个数字 等同于[0-9]
    \D   非数字  等同于[^0-9]
    \s   一个空白字符   等同于 [ \t\n\x0B\f\r]
    \S   非空白字符     等同于 [^\s]
    \w   [a-zA-Z_0-9]   英文、数字、下划线
    \W   [^\w]   一个非单词字符

    \:   转义字符
     */
    /*
    3.数量
    --------------------------------------------
    X?    X, 一次或0次
    X*    X, 任意次（0次或多次）
    X+    X, 一次或多次
    X{n}  X, 正好n次
    X{n,} X, 至少n次
    X{n,m} X, 至少n次不超过m次
     */
    public static void main(String[] args) {
        String regex = "[a-z]";
        System.out.println("abc".matches(regex));
        System.out.println("a".matches(regex));
    }
}
